using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("QuestCompleteSpell")]
	public class QuestCompleteSpell : Spell
	{
		public float m_QuestCardScaleTime => method_2<float>("m_QuestCardScaleTime");

		public float m_QuestCardHoldTime => method_2<float>("m_QuestCardHoldTime");

		public float m_QuestRewardHoldTime => method_2<float>("m_QuestRewardHoldTime");

		public AnimationEventDispatcher m_AnimationEventDispatcher => method_3<AnimationEventDispatcher>("m_AnimationEventDispatcher");

		public Transform m_QuestStartBone => method_3<Transform>("m_QuestStartBone");

		public Transform m_OpponentQuestStartBone => method_3<Transform>("m_OpponentQuestStartBone");

		public Transform m_QuestEndBone => method_3<Transform>("m_QuestEndBone");

		public Transform m_QuestRewardBone => method_3<Transform>("m_QuestRewardBone");

		public Entity m_originalQuestEntity => method_3<Entity>("m_originalQuestEntity");

		public Actor m_fakeQuestActor => method_3<Actor>("m_fakeQuestActor");

		public Actor m_fakeQuestRewardActor => method_3<Actor>("m_fakeQuestRewardActor");

		public Entity m_questReward => method_3<Entity>("m_questReward");

		public int m_questRewardSpawnTaskIndex => method_2<int>("m_questRewardSpawnTaskIndex");

		public QuestCompleteSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public QuestCompleteSpell(IntPtr address)
			: this(address, "QuestCompleteSpell")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public bool FindQuestRewardFullEntityTask()
		{
			return method_11<bool>("FindQuestRewardFullEntityTask", Array.Empty<object>());
		}

		public bool LoadFakeQuestActors()
		{
			return method_11<bool>("LoadFakeQuestActors", Array.Empty<object>());
		}

		public bool LoadFakeQuestActor()
		{
			return method_11<bool>("LoadFakeQuestActor", Array.Empty<object>());
		}

		public bool LoadFakeQuestRewardActor()
		{
			return method_11<bool>("LoadFakeQuestRewardActor", Array.Empty<object>());
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public new void OnDeath(SpellStateType prevStateType)
		{
			method_8("OnDeath", prevStateType);
		}

		public void OnAnimationEvent(object obj)
		{
			method_8("OnAnimationEvent", obj);
		}
	}
}
